﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KPIS.GERP.GHRMS.MODEL;
using System.Data;

namespace KPIS.GERP.GHRMS.IBLL
{
    public interface IPayrollsBLL
    {

        DataSet ListPayrolls(int emp_type_seq, int pay_year, int pay_month);

        DataSet ListPayrollsEmp();

        bool ChkDuplicatePayrollsDtls(int pay_seq, int emp_seq);

        DataSet ListPayrollsEmpType(int emp_type_seq);

        DataSet ListPayrollsEmpTypeDate(int emp_type_seq, int pay_month, int pay_year);

        void DeleteEmpPayroll(int Sequence, string UpdateBy);

        DataSet ListPayrollsExtra(int pay_seq, int emp_seq);

        DataSet ListPayrollsExtraTyp();

        DataSet ListExtraTypeNotExist(int EmployeeType, int PayRollSeq, int EmpSeq);

        bool ChkDuplicatePayrolls(int emp_type_seq, int pay_year, int pay_month);

        bool ChkDupPayrollsExtra(int pay_seq, int emp_seq, int ext_seq);

        void InsertSelect(int emp_type_seq, int bg_year, int month, int pay_seq, string CreatedBy);
        void InsertPayrolls(int emp_type_seq, int pay_year, int pay_month, string CreatedBy);
        void Insert(int pay_seq, int emp_seq, Double salary, string remarks, string CreatedBy);
        void Update(int Sequence, Double salary, string remarks, string UpdateBy);
        void Delete(int Sequence, string UpdateBy);

        void InsertPayrollsExtra(int pay_seq, int emp_seq, int ext_seq, Double ext_amount, string CreatedBy);
        void UpdatePayrollsExtra(int Sequence, int ext_type_seq, Double ext_amount, string UpdateBy);
        void DeletePayrollsExtra(int Sequence, string UpdateBy);

    }
}
